package com.ruoyi.reportTask.domain;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 填报任务对象 industrial_report_task
 *
 * @author yangzhen
 * @date 2025-11-13
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("industrial_report_task")
@Schema(name = "IndustrialReportTask", description = "填报任务对象")
public class IndustrialReportTask extends BaseEntity {

    private static final long serialVersionUID=1L;

    /**
     * 主键id
     */
    @Schema(description = "主键id")
    @TableId(value = "id")
    private String id;
    /**
     * 任务名称
     */
    @Schema(description = "任务名称")
    private String taskName;
    /**
     * 填报对象
     */
    @Schema(description = "填报对象")
    private String reportObj;
    /**
     * 填报周期
     */
    @Schema(description = "填报周期")
    private String reportCycle;
    /**
     * 推送时间
     */
    @Schema(description = "推送时间")
    private Date sendDate;
    /**
     * 推送时间显示/拼接字符串（年月日+时间）
     */
    @Schema(description = "推送时间显示/拼接字符串（年月日+时间）")
    private String sendDateStr;
    /**
     * 月度/年度任务日
     */
    @Schema(description = "月度/年度任务日")
    private Long sendDay;
    /**
     * 年度任务月
     */
    @Schema(description = "年度任务月")
    private Long sendMonth;
    /**
     * 月度/年度具体时间（HH:mm:ss）
     */
    @Schema(description = "月度/年度具体时间（HH:mm:ss）")
    private String sendTime;
    /**
     * 有效期
     */
    @Schema(description = "有效期")
    private Long validityPeriod;
    /**
     * 填报模板集合
     */
    @Schema(description = "填报模板集合")
    private String reportTemplate;
    /**
     * 删除标志（0代表存在 2代表删除）
     */
    @Schema(description = "删除标志（0代表存在 2代表删除）")
    @TableLogic
    private String delFlag;
    /**
     * 备注
     */
    @Schema(description = "备注")
    private String remark;
    /**
     * 数据状态
     */
    @Schema(description = "数据状态")
    private Long dataStatus;
    /**
     * 数据采集周期
     */
    @Schema(description = "数据采集周期")
    private Date reportCollectDate;

    /**
     * 数据采集类型
     */
    @Schema(description = "数据采集类型")
    private String reportCollectType;
}
